Skip to content
Go back

强化学习中的数学原理(五):策略梯度与 Actor-Critic

Edit page
6 min read

在探讨了基于价值 Value-based 的方法后,我们需要面对价值方法在连续动作空间或高维状态下的局限性。本篇主要介绍策略梯度 Policy GradientActor-Critic 行动者-评论家 架构,该分支方法通过将策略参数化,直接对策略函数应用梯度优化以搜寻最优解。


9. 策略梯度方法 Policy Gradient Methods

在之前的章节中无论是 Q-Learning 还是价值迭代,都是先求出最高价值,再间接推导出最优策略 (Value-based)。但在应对连续高维度动作时,策略梯度方法转换了思路:既然可以用神经网络逼近价值,也可以直接用神经网络 θ\theta 逼近策略 π\pi,将策略参数化,这就是 Policy-based 方法。

策略函数参数化

基本思想很简单:定义一个评价系统好坏的目标,然后沿着使它变优的梯度反向攀登 (Gradient Ascent)。

目标函数定义 Metrics Define

在使用梯度上升算法更新策略参数 θ\theta 前,需要定义用于评价策略优劣的目标函数 J(θ)J(\theta)

  1. 平均状态价值 Average Value

    J(θ)=vˉπ=sd0(s)vπ(s)J(\theta) = \bar{v}_\pi = \sum_{s} d_0(s) v_\pi(s)

    其中 d0(s)d_0(s) 为初始状态概率分布。

  2. 平均单步回报 Average Reward

    J(θ)=rˉπ=sdπ(s)aπ(as;θ)r(s,a)J(\theta) = \bar{r}_\pi = \sum_s d_\pi(s) \sum_a \pi(a|s; \theta) r(s,a)

    其中 dπ(s)d_\pi(s) 为在策略 π\pi 下达到的平稳分布 Stationary distribution。

梯度推导与似然比技巧 Likelihood Ratio

根据策略梯度定理 Policy Gradient Theorem,我们可以得到目标函数关于 θ\theta 的梯度:

θJ(θ)=sdπ(s)aθπ(as;θ)qπ(s,a)\nabla_\theta J(\theta) = \sum_s d_\pi(s) \sum_a \nabla_\theta \pi(a|s; \theta) q_\pi(s,a)

为了将其转化为可通过采样估算的数学期望形式,我们引入似然比技巧 Likelihood Ratio。基于对数导数规则 θlnx=θxx\nabla_\theta \ln x = \frac{\nabla_\theta x}{x},展开推导如下:

θπ(as;θ)=π(as;θ)θπ(as;θ)π(as;θ)=π(as;θ)θlnπ(as;θ)\nabla_\theta \pi(a|s; \theta) = \pi(a|s; \theta) \frac{\nabla_\theta \pi(a|s; \theta)}{\pi(a|s; \theta)} = \pi(a|s; \theta) \nabla_\theta \ln \pi(a|s; \theta)

将其代入前式:

θJ(θ)=sdπ(s)aπ(as;θ)[θlnπ(as;θ)qπ(s,a)]\nabla_\theta J(\theta) = \sum_{s} d_\pi(s) \sum_{a} \pi(a|s;\theta) \left[ \nabla_\theta \ln \pi(a|s; \theta) q_\pi(s,a) \right]

由此,该式可以完全转化为基于服从分布 SdπS \sim d_\piAπA \sim \pi 的期望形式:

θJ(θ)=ESdπ,Aπ[θlnπ(AS;θ)qπ(S,A)]\nabla_\theta J(\theta) = \mathbb{E}_{S \sim d_\pi, A \sim \pi} \left[ \nabla_\theta \ln \pi(A|S; \theta) q_\pi(S,A) \right]

蒙特卡洛算法近似:REINFORCE

在实际应用中,上式中的 qπ(S,A)q_\pi(S,A) 往往是未知的。在 REINFORCE 算法中,我们使用整个回合的累积回报 GtG_t 近似代替 qπ(St,At)q_\pi(S_t, A_t)。其具体的随机梯度上升更新公式为:

θt+1=θt+αGtθlnπ(AtSt;θ)\theta_{t+1} = \theta_t + \alpha G_t \nabla_\theta \ln \pi(A_t|S_t; \theta)

由于使用基于完整 MC 采样的 GtG_t,该方法属于 Offline (回合更新) 方法,虽然无偏但具有较高的方差。


10. Actor-Critic 行动者-评论家 架构

鉴于 REINFORCE 算法只能离线更新且方差较大,引入了 Actor-Critic 方法:

Actor-Critic架构概念

优势函数与 A2C 算法 Advantage Actor-Critic

为进一步降低采样的方差,我们在评估基准中引入不依赖动作的常数项基准项 Baseline b(s)b(s),这不会改变策略梯度的期望(偏置不影响梯度)。理论分析表明最优的 Baseline 为状态价值函数 vπ(s)v_\pi(s)

将其代入目标,产生了优势函数 Advantage function δt\delta_t

δt=qπ(s,a)vπ(s)\delta_t = q_\pi(s,a) - v_\pi(s)

实践中,由于拟合过多的网络模块十分低效,直接利用 Critic 的单步 TD 误差作为 δt\delta_t 计算即可:

δt=Rt+1+γV(St+1;w)V(St;w)\delta_t = R_{t+1} + \gamma V(S_{t+1}; w) - V(S_t; w)

将其代入策略参数更新:

θt+1=θt+αδtθlnπ(AtSt;θ)\theta_{t+1} = \theta_t + \alpha \delta_t \nabla_\theta \ln \pi(A_t|S_t; \theta)

这就是大名鼎鼎的 A2C (Advantage Actor-Critic),使得 Actor 知道自己不仅要表现好,而且要比环境平均评估更加好,即 δt>0\delta_t > 0 才会正向更新。

离策略的 Actor-Critic Off-policy AC 与重要性采样 Importance Sampling

当行为策略 (Behavior policy, β\beta) 与我们试图评估的目标策略 (Target policy, π\pi) 不一致时,便需要使用离策略方法。直接在 β\beta 收集的样本上优化 π\pi 是有偏的,必须引入重要性采样 Importance Sampling 进行修正。

重要性采样的核心推导: 假设需要在分布 p1p_1 的采样下估计分布 p0p_0 的期望:

EXp0[X]=xp0(x)=xp0(x)p1(x)p1(x)=EXp1[Xp0(x)p1(x)]\mathbb{E}_{X \sim p_0}[X] = \sum x \cdot p_0(x) = \sum x \cdot \frac{p_0(x)}{p_1(x)} p_1(x) = \mathbb{E}_{X \sim p_1}\left[ X \frac{p_0(x)}{p_1(x)} \right]

将其引入策略梯度公式:我们在行为策略 β\beta (即 p1p_1) 下运行,但需要优化目标策略 π\pi (即 p0p_0)。梯度转化如下:

θJ(θ)=sdβ(s)aβ(as)π(as;θ)β(as)θlnπ(as;θ)qπ(s,a)\nabla_\theta J(\theta) = \sum_{s} d_\beta(s) \sum_{a} \beta(a|s) \frac{\pi(a|s;\theta)}{\beta(a|s)} \nabla_\theta \ln \pi(a|s; \theta) q_\pi(s,a) =ESdβ,Aβ[π(AS;θ)β(AS)θlnπ(AS;θ)qπ(S,A)]= \mathbb{E}_{S \sim d_\beta, A \sim \beta} \left[ \frac{\pi(A|S;\theta)}{\beta(A|S)}\nabla_\theta \ln \pi(A|S; \theta) q_\pi(S,A) \right]

这个乘积项被定义为重要性权重比 ρt=π(AtSt;θ)β(AtSt)\rho_t = \frac{\pi(A_t|S_t;\theta)}{\beta(A_t|S_t)},它保证了 Off-policy 迭代在理论上的严丝合缝。

确定性策略梯度 Deterministic Policy Gradient, DPG

对于具有无限或者高维连续动作空间的问题(如控制关节力度),随机策略 Stochastic Policy π(as)\pi(a|s) 无法有效采样。因此引出确定性策略 μ(s;θ)\mu(s;\theta),算法直接将输入状态映射到一个具体的连续动作标量值:

a=μ(s;θ)a = \mu(s; \theta)

此时的优化依赖于连续空间的链式求导法则。基于 Critic 提供的平滑函数预测值 q(s,a;w)q(s,a; w),沿动作方向求偏导,进一步传回 Actor:

θJ(θ)=ESρμ[θμ(S;θ)aq(S,a;w)a=μ(S)]\nabla_\theta J(\theta) = \mathbb{E}_{S \sim \rho^\mu} \left[ \nabla_\theta \mu(S; \theta) \nabla_a q(S,a; w)\Big|_{a=\mu(S)} \right]

DPG 的一大特点在于它自然地适应 Off-policy 方法,在搜集经验时往往通过在确定性输出上加入外部探索信号(如高斯噪音)来保障对连续动作空间的有效探索。


Edit page
Share this post on:

Next Post
强化学习中的数学原理(四):时序差分学习与价值函数近似